package thinkingJava.chapter09;
interface Monster {
	void menace();
}
interface DangerousMonster extends Monster {
	void destroy();
}
interface Lethal {
	void kill();
}
class DragonZilla implements DangerousMonster {

	public void menace() {
		System.out.println("Dragon Zilla menace()");
	}

	public void destroy() {
		System.out.println("Drangon Zilla destroy()");
	}

}
interface Vampire extends DangerousMonster,Lethal {
	void drinkBlood();
}
class VeryBadVampire implements Vampire {

	public void destroy() {
		System.out.println("very bad vampire destroy()");
	}
	public void menace() {
		System.out.println("very bad vampire menace()");
	}
	public void kill() {
		System.out.println("very bad vampire kill()");
	}
	public void drinkBlood() {
		System.out.println("very bad vampire drinkBlood()");
	}

}
public class HorrorShow {
	static void u(Monster b ) {
		b.menace();
	}
	static void v(DangerousMonster d) {
		d.menace();
		d.destroy();
	}
	static void w(Lethal l) {
		l.kill();
	}
	public static void main(String[] args) {
		DangerousMonster d = new DragonZilla();
		u(d);
		v(d);
		Vampire v = new VeryBadVampire();
		u(v);
		v(v);
	}
}
